package com.chainyoung.component_tmtrade.di.module;


import com.chainyoung.common.di.scope.FragmentScope;
import com.chainyoung.component_tmtrade.ui.mvp.contract.TradeCurrencyBuyContract;
import com.chainyoung.component_tmtrade.ui.mvp.contract.TradeCurrencyCoupleListContract;
import com.chainyoung.component_tmtrade.ui.mvp.contract.TradeCurrencyCurrentListContract;
import com.chainyoung.component_tmtrade.ui.mvp.contract.TradeCurrencyListContract;
import com.chainyoung.component_tmtrade.ui.mvp.model.TradeCurrencyBuyModel;
import com.chainyoung.component_tmtrade.ui.mvp.model.TradeCurrencyCoupleListModel;
import com.chainyoung.component_tmtrade.ui.mvp.model.TradeCurrencyCurrenListModel;
import com.chainyoung.component_tmtrade.ui.mvp.model.TradeCurrencyListModel;

import dagger.Module;
import dagger.Provides;

@Module
public class TradeCurrencyModule {

    private TradeCurrencyBuyContract.View view;

    private TradeCurrencyListContract.View listView;

    private TradeCurrencyCurrentListContract.View currentListView;

    private TradeCurrencyCoupleListContract.View mCoupleListView;




    public TradeCurrencyModule(TradeCurrencyListContract.View view) {
        this.listView = view;
    }


    public TradeCurrencyModule(TradeCurrencyBuyContract.View view) {
        this.view = view;
    }

    public TradeCurrencyModule(TradeCurrencyCurrentListContract.View view) {
        this.currentListView = view;
    }

    public TradeCurrencyModule(TradeCurrencyCoupleListContract.View view) {
        this.mCoupleListView = view;
    }



    @FragmentScope
    @Provides
    TradeCurrencyBuyContract.View providerTradeView() {
        return this.view;
    }

    @FragmentScope
    @Provides
    TradeCurrencyBuyContract.Model providerTradeModel(TradeCurrencyBuyModel model) {
        return model;
    }

    @FragmentScope
    @Provides
    TradeCurrencyListContract.View providerTradeListView() {
        return this.listView;
    }


    @FragmentScope
    @Provides
    TradeCurrencyListContract.Model providerTradeListModel(TradeCurrencyListModel model) {
        return model;
    }

    @FragmentScope
    @Provides
    TradeCurrencyCurrentListContract.View providerTradeCurrentListView() {
        return this.currentListView;
    }


    @FragmentScope
    @Provides
    TradeCurrencyCurrentListContract.Model providerTradeCurrenctListModel(TradeCurrencyCurrenListModel model) {
        return model;
    }

    @FragmentScope
    @Provides
    TradeCurrencyCoupleListContract.View providerTradeCoupleListView() {
        return this.mCoupleListView;
    }


    @FragmentScope
    @Provides
    TradeCurrencyCoupleListContract.Model providerTradeCoupleListModel(TradeCurrencyCoupleListModel model) {
        return model;
    }








}
